import axios from 'axios'

import qs from 'qs'

const service = axios.create({
  transformRequest: [function(data) {
    data = qs.stringify(data)
    return data
  }],
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 20000 // request timeout
})

service.interceptors.response.use(

  response => {
    const res = response.data
    // if the custom code is not 20000, it is judged as an error.
    if (res.code !== 200) {
      // Message({
      //   message: res.message || 'Error -tt',
      //   type: 'error',
      //   duration: 1 * 1000
      // })
      return res

      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
      if (res.code === 2002) {
        // to re-login
        // MessageBox.confirm('您的身份信息已失效，请重新登录', 'Confirm logout', {
        //   confirmButtonText: '重新登录',
        //   cancelButtonText: '返回',
        //   type: 'warning'
        // }).then(() => {
        //   store.dispatch('user/resetToken').then(() => {
        //     location.reload()
        //   })
        // })
      }
      // console.log('goto', 'ttttt')
      return res
    } else {
      console.log('goto', 'bbbbb')
      return res
    }
  },
  error => {
    console.log('err' + error) // for debug
    // if(error.response.config.responseType == 'blob'){   //解决 blob请求类型 错误信息
    //   let blob = new Blob([error.response.data])
    //   let reader = new FileReader()
    //   reader.readAsText(blob,'utf-8')
    //   reader.onload = function () {
    //       try{
    //           let data = JSON.parse(reader.result)
    //           Message.error({message: data.message ||'操作有误,请重新操作!'})
    //       }catch (e) {
    //           Message.error({message: '系统错误请联系管理员'})
    //       }
    //   }
    // Message({
    //   message: error.message,
    //   type: 'error',
    //   duration: 5 * 1000
    // })
    return Promise.reject(error)
  }
)

export default service
